/**
 * 数组辅助函数
 */

/**
 * 数组去重
 * @param {Array} arr - 数组
 * @returns {Array}
 */
export function uniqueArray(arr) {
  return [...new Set(arr)]
}

/**
 * 数组分组
 * @param {Array} arr - 数组
 * @param {Function} fn - 分组函数
 * @returns {Object}
 */
export function groupBy(arr, fn) {
  return arr.reduce((acc, item) => {
    const key = fn(item)
    if (!acc[key]) {
      acc[key] = []
    }
    acc[key].push(item)
    return acc
  }, {})
}
